فرض کن هر روز باید یه سری کار تکراری رو توی لینوکس انجام بدی: پشتیبانگیری، پاک کردن فایلهای موقت، ارسال گزارش و ... بهجای اینکه هر بار دستی این کارها رو انجام بدی، میتونی یه دستورالعمل (اسکریپت) بنویسی که خودش این کارها رو انجام بده. اینجوری مثل اینه که یه ربات داری که کارهای تکراری رو برات انجام میده. این فصل دقیقاً بهت یاد میده چطور این رباتها (اسکریپتهای شل) رو بنویسی!
پس از اتمام فصل هشتم که به مفاهیم شبکه، پیکربندی و عیبیابی پرداختیم، اکنون وارد فصل نهم میشویم. این فصل به اسکریپتنویسی شل (Shell Scripting) اختصاص دارد. اسکریپتنویسی یکی از قدرتمندترین مهارتها در لینوکس است که به شما امکان میدهد کارهای تکراری را خودکار کنید، سیستم را مدیریت کنید و ابزارهای سفارشی بسازید.
در این فصل، با مفاهیمی آشنا میشوید که به شما امکان میدهند:
این فصل شامل دو بخش اصلی است که هر کدام به یکی از جنبههای مهم اسکریپتنویسی میپردازد:
در این بخش، با مفاهیم پایه اسکریپتنویسی آشنا میشوید. یاد میگیرید که چگونه یک فایل متنی ساده را به یک اسکریپت قابل اجرا تبدیل کنید، شبانگ (Shebang) چیست، چگونه به اسکریپت مجوز اجرا بدهید و چگونه آن را اجرا کنید. همچنین با متغیرها، ورودی/خروجی و دستورات شرطی آشنا میشوید.
در این بخش، با حلقهها (for, while, until)، دستورات شرطی (if, case)، توابع (Functions) و مدیریت خطا در اسکریپتها آشنا میشوید. همچنین یاد میگیرید که چگونه اسکریپتهای خود را با cron زمانبندی کنید و از آرگومانهای خط فرمان در اسکریپتها استفاده کنید.
برای بهرهمندی کامل از این فصل، بهتر است با مباحث زیر آشنایی داشته باشید:
در طول این فصل با ابزارهای زیر کار خواهید کرد:
| ابزار | کاربرد |
|---|---|
bash |
مفسر اسکریپتهای شل (پیشفرض) |
chmod +x |
اعطای مجوز اجرا به اسکریپت |
echo |
چاپ متن در خروجی |
read |
خواندن ورودی از کاربر |
if, else, elif |
دستورات شرطی |
for, while, until |
حلقهها |
function |
تعریف توابع |
crontab |
زمانبندی اسکریپتها |
hello.sh ایجاد کنید و در آن echo "Hello, World!" را بنویسید.chmod +x hello.sh به آن مجوز اجرا بدهید../hello.sh اجرا کنید.name تعریف کنید و مقدار آن را با read از کاربر بگیرید و سپس با echo چاپ کنید.